package com.xique.door.device.hq.service;

import com.xique.door.device.hq.bean.response.*;

import java.util.List;

/**
 * @author shd
 * @create 2021/9/18 16:06
 */
public interface IHqDeviceCommandBizService {

    /**
     * 单个用户信息下发
     * @author shd
     * @date 2021/9/18 16:09
     * @param userId
     * @param deviceSns
     * @return DoorHqDeviceCommandResponse
     */
    HqDownPersonCommandResponse downPerson(Long userId, List<String> deviceSns);

    /**
     * 多个用户信息下发
     * @author shd
     * @date 2021/9/18 16:10
     * @param userIds
     * @param deviceSns
     * @return DoorHqDeviceCommandResponse
     */
    HqDownPersonsCommandResponse downPersons(List<Long> userIds, List<String> deviceSns);

    /**
     * 单个用户删除下发
     * @author shd
     * @date 2021/9/18 16:11
     * @param userId
     * @param deviceIds
     * @return com.xique.door.device.hq.bean.response.DoorHqDeviceCommandResponse
     */
    HqDelPersonCommandResponse delPerson(Long userId, List<Long> deviceIds);

    /**
     * 多个用户删除下发
     * @author shd
     * @date 2021/9/18 16:12
     * @param userIds
     * @param deviceSns
     * @return com.xique.door.device.hq.bean.response.DoorHqDeviceCommandResponse
     */
    HqDeviceCommandResponse delPersons(List<Long> userIds, List<String> deviceSns);

    /**
     * 用户信息下发状态
     * @author shd
     * @date 2021/9/18 16:12
     * @param userIds
     * @param deviceSns
     * @return com.xique.door.device.hq.bean.response.DoorHqDeviceCommandResponse
     */
    HqGetStatusCommandResponse getStatus(List<Long> userIds, List<String> deviceSns);

    /**
     * 单个访客信息下发
     * @author shd
     * @date 2021/9/18 16:09
     * @param visitorId
     * @param deviceSns
     * @return DoorHqDeviceCommandResponse
     */
    HqDownPersonCommandResponse downVisitor(Long visitorId, List<String> deviceSns);

    /**
     * 单个访客删除下发
     * @author shd
     * @date 2021/9/18 16:11
     * @param visitorId
     * @param deviceSns
     * @return com.xique.door.device.hq.bean.response.DoorHqDeviceCommandResponse
     */
    HqDelPersonCommandResponse delVisitor(Long visitorId, List<String> deviceSns);
}
